![]() クロックドリフト補償の方法とシステム
专利摘要:
プレイアウトユニットとキャプチャーユニットとの間の異なるサンプリングレートが補償される。該プレイアウトユニットはサンプルを計算ユニットから受け、該キャプチャーユニットはサンプルを該計算ユニットへ送る。プレイアウトFIFOバッフアーはプレイアウトタイムドメイン内で動作し、キャプチャーFIFOバッフアーはキャプチャータイムドメイン内で動作する。該計算ユニットは共通のクロックに同期化させられる。第1の関係は該共通のクロックとプレイアウトFIFOバッフアーリードポインターとの間で計算され、第2の関係は該共通クロックとキャプチャーFIFOバッフアーライトポインターとの間で計算される。該プレイアウトタイムドメイン内の各サンプルについて、前記計算ユニットからの該サンプル内の対応するサンプルが見出され、プレイアウトFIFOバッフアーへ送られる。該共通クロックタイムドメイン内の各サンプルについて、該キャプチャータイムドメイン内の対応するサンプルが見出され、該計算ユニットへ送られる。 公开号:JP2011512698A 申请号:JP2010539341 申请日:2008-12-16 公开日:2011-04-21 发明作者:マルトン,トリグベ・フレドリク;リエン,トルジエイル・グロテ 申请人:タンドベルク・テレコム・エイ・エス; IPC主号:H03H17-00
专利说明:
[0001] 本発明はクロックドリフト補償に関する。特に、本発明はプレイアウトユニットとキャプチャーユニットの間の異なるサンプリングレートを補償する方法と、プレイアウトユニットとキャプチャーユニットの間の異なるサンプリングレートを補償するクロックドリフト補償ユニットと、に関する。又、本発明はクロックドリフト補償ユニットの使用法に関する。] 背景技術 [0002] 従来の会議システム又は何等かのハンドフリーシステムでは、1つ以上のマイクロフォンがサイトAで音波を取り込み、該音波を第1オーディオ信号に変換する。該第1オーディオ信号はサイトBへ送信され、そこでテレビジョンセット又は増幅器及び拡声器がサイトAで発生された該第1オーディオ信号を該音波に変換することにより元の音波を再生する。] [0003] 図1はハンドフリー通信システムの典型的エコー問題を図解している。遠端(サイトA)からのデジタルオーディオ信号1101はD−A変換器(DAC)1301によりアナログドメインに変換され、拡声器増幅器1302で増幅され、更に拡声器1303で音声信号に変換される。直接信号1304と、壁/天井他1305で反射された反射版1306と、の両者はマイクロフォン1308により望ましくなくピックアップされる。該マイクロフォンは望ましい近端信号1307(例えば、話す人)もピックアップする。該マイクロフォン信号は該マイクロフォン増幅器1309で増幅され、A−D変換器1310でデジタル化され、未キャンセルマイクロフォン信号1202を出力する。] 図1 [0004] もし該未キャンセルマイクロフォン信号が該遠端へ送信されるとしたら、該遠端サイトの参加者は彼等自身のエコーを聞くだろうし、もし同様なシステムが該遠端にあるとしたら、ハウリング/フィードバックさえも起きるかも知れない。] [0005] この問題を処理するために、該デジタルマイクロフォン信号路に音響エコーキャンセラー1203を付加することが提案された。このキャンセラーはデジタル拡声器信号1101を信号基準1201として使い、拡声器からマイクロフォンの経路の全部1304/1306を見積り、そしてこれらの見積を未キャンセルマイクフォン信号1202から引き算し、キャンセル済みマイクロフォン信号1204を作り、該キャンセル済みマイクロフォン信号が信号1102として該遠端へ送信される。] [0006] 2つの主なアプローチ、すなわちフルバンドキャンセラー及びサブバンドキャンセラーは、今日音響エコーキャンセラー用に広く使われている。これらの両者は通常、エコー路見積用に適応型FIR(有限インパルス応答)フィルターを使うが、しかしながら、これらをそれぞれフルバンドドメイン及びサブバンドドメインで適用する。] [0007] 製品で使われる音響エコーキャンセラーは典型的に、本文書の図で示されない幾つかの更に進んだサブブロック;ダブルトークアルゴリズム、非線形処理ユニット、カンフォートノイズ発生、他を有する。明らかなため及び簡潔にするため、これらのサブブロックは省略されるが、それは本発明の原理を可能にするためにはこの様なブロックの詳細開示は不必要と考えられるからである。これらのブロックは種々であり、論文、特許及び文献に良く文書化されている。当業者にはこれらのブロックの組み込みは常識である。] [0008] 図2は基本的フルバンド音響エコーキャンセラーを示す。] 図2 [0009] 遠端2101からのデジタル信号は信号2102として拡声器に送られ、又拡声器基準信号2103としても使われる。] [0010] 該拡声器基準信号2103は適応型FIRフィルター2104を通してフィルターされる。この適応型フィルターは部屋のインパルス応答に収斂し、該応答を追跡する。最初の収斂用に、そして該室内の何等かの音響的変化(ドアが開く、人々が移動する、他)用に、該適応型FIRフィルター2104は適応せねばならない。この目的用に、低廉な(低処理パワー)LMS(最小平均2乗法)から、APA(アフィン投射アルゴリズム)及びRLS(再帰的最小2乗法)の様なより複雑でもっとリソースを要するアルゴリズムまで、多くの異なる適応型アルゴリズムが使われてもよい。しかしながら、普通全てのこれらのアルゴリズムは適応用にFIRフィルター更新ループ2108を使用する。] [0011] 該適応型FIRフィルターは反転エコー見積2105を出力し、該見積は未キャンセルマイクロフォン信号2106に加算され、エコーキャンセル済みマイクロフォン信号2107を計算する。] [0012] 他のアプローチはサブバンド処理を使う。図3はこのアプローチを図解する。] 図3 [0013] 遠端3101からのデジタル信号は拡声器へ信号3102として渡される。該信号は又アナライズフィルター3301を使い選択された数のサブバンドに分けられる。未キャンセルマイクロフォン信号3106はもう1つの(しかし等しい)アナライズフィルター3302を使いサブバンドに分けられる。] [0014] 各サブバンドについて、該拡声器アナライズフィルターはサブバンド基準信号3203を出力するが、該サブバンド基準信号はサブバンドFIRフィルター3204を通してフィルターされ、反転サブバンドエコー見積3205として計算される。マイクロフォンアナライズフィルターはサブバンド未キャンセル信号3206を出力するが、該信号は該反転エコー見積を加算され、サブバンドエコーキャンセル済みマイクロフォン信号3207を出力する。該エコーキャンセル済みマイクロフォン信号は、サブバンドFIRフィルター更新ループ3208として示される、該FIRフィルターの適応用に使われる。] [0015] 全てのサブバンドからの該エコーキャンセル済みマイクロフォン信号は、シンセサイズフィルター3303により、フルバンドキャンセル済みマイクロフォン信号3107に一緒に合体される。] [0016] フルバンド及びサブバンドの両エコーキャンセラーは出力デジタルサンプル(2102/3102)から入力デジタルサンプル(2106/3106)への応答を見積もる。この応答は、サンプリングレート変換器、ミキサー、D−A変換器、拡声器、音響カップリング、マイクロフォンそしてA−D変換器、を含むが、それらに限定されない、該信号が通過する何等かのソフトウエア又はハードウエア、に影響される。入力信号2106/3106のサンプルのレートが出力信号2102/3102のサンプルのレートに等しいことはその設計では本来のことである。最良の性能用には、制御可能な部分の応答(遅延を含む)は一定に保たれるべきである。] [0017] 良く設計されたシステムでは、D−A及びA−D変換器用に同じクロック源を使うことにより、等サンプリングレートが保証されるが、一定の(又は少なくとも予測可能な)遅延が適当なハードウエア及びソフトウエア設計により保持される。] [0018] しかしながら、或る設計ではA−D及びD−A変換器用に異なるクロック源が使われる。これは例えばパーソナルコンピュータ(PCs)の場合であり、そこではA−D変換器及びD−A変換器は異なるカード上に置かれ、それぞれ各カード上で局所的に発生される変換クロックを有する。典型的で、広く使われる状況は、オーディオはウエブカメラで取り込まれる(A−D変換される)が、該オーディオはPC’sビルトインのオーディオカードによりプレイアウトされる(D−A変換される)。] [0019] A−D変換器及びD−A変換器間のレートの何等かの差は下記の幾つかの問題を引き起こす: 1.周波数シフト:2102/3102信号から2106/3106信号までの信号間に周波数シフトがある。線形エコーキャンセラーはこの様なシフト用に設計されてなくて、かくして得られる最大の瞬時性能が被害を受ける。 2.時間ドリフト:スピーカー信号2102/3102及びマイクロフォン信号2106/3106内の同じサンプル間の時間はゆっくり変わり、エコーキャンセラーは一定して再適応する必要がある。該エコーキャンセラーは、スピーカー信号2102/3102が適当に高出力を有する時のみ再適応出来る。従って、時間遅延はゆっくり変化するが、静寂時間(低出力2102/3102)の後の応答の結果的時間シフトは著しく大きく、可成りの残留エコーに帰着する。 3.サンプルの過大発生/不足発生:A−D変換器用のサンプルの発生はD−A変換器での消耗と異なるので、該システムの1つ以上の場所でサンプルの混雑又は欠如がある。] [0020] 該A−D変換レートとD−A変換レートの間には2種類のドリフトがある。両者は1度に存在し得る。] [0021] ドリフトはクロック源(クリスタル、発振器他)のその公称値からの逸脱のため起こる。クリスタルは種々のレベルの動作を有する。クリスタルについて指定される幾つかのパラメーターは周波数、安定度、精度(100万当たりの部分)、又はppmのみならず、温度変化による上記パラメーターの変動の限度、である。一般に、どの2つのクリスタルも精確には同じでない。それらは僅かに異なる周波数で発信し、それらの他の特性も異なる。これは、もしA−D及びD−A変換器が異なるクリスタルから得られたクロック信号でドライブされるなら、例え該クリスタルが同じ公称周波数でランし、該D−A及びA−D用デバイダーがマッチしても、それらの変換器がランするレートには僅かの差があることを意味する。この場合、時間経過時該A−Dにより作られるサンプル数はD−Aにより同じ時間中に消耗されるサンプル数とマッチしない。該A−Dにより発生されるサンプル数が該D−Aにより消耗されるサンプル数と比較されるこの時間が長い程、該D−A及びA−Dにより処理されるサンプルの数の差は大きい。] [0022] 又ドリフトは両立しないサンプルレートに依っても起こり得る。キャプチャー/プレイアウトデバイスがオーディオストリームのサンプルレートをサポートしない時、ソフトウエアサンプルレート変換器が該動作システムにより挿入される。しかしながら、このサンプルレート変換器は限定された分解能しか有せず、かくして公称サンプリング周波数は変化する。差は時間経過中一定であるが、可成り大きい。屡々経験する典型的値は0.625%、すなわち6250ppmである。] [0023] 図4はPC内のプレイアウト及びキャプチャーシステム(それぞれ4100及び4200)の典型的セットアップを図解する。精確なセットアップは、選ばれたAPIと、オーディオプレイアウト/キャプチャーデバイスドライバーと、共に変わることを注意すべきである。システムを作動させるために、2重バッフアリング又は類似のものが使われる。これは図では示されてない。図は、応用ソフトウエアから見た、プレイアウト及びキャプ チャーシステムの主な特性を説明するためのみに作られている。] 図4 [0024] 該プレイアウトシステム4100では、該DAC(D−A変換器)4101はDACCLK4102によりクロック駆動され、すなわちDAC4101はDACCLK4102により与えられるレートでサンプルを消耗する。該DACCLK4102は発振器の遙かに高い周波数のクリスタルから通常得られる。DAC4101は該DAC FIFO4103からの1度に1つのサンプルを消耗する。該DAC FIFOはハードウエア又はソフトウエアの両者で実現されてもよい。該DAC FIFO4103が空になると、それはプレイアウトSRC(サンプルレート変換器)4104からのNplayoutサンプルを消耗するが、該プレイアウトSRCは又、該プレイアウトFIFO4110の1部であるプレイアウトリングバッフアーからの必要数のサンプルを消耗する。Nplayoutは1程低くてもよいが、複数(サンプルのグループ)も普通である(Nplayout=128が観察された)。該プレイアウトリードポインター4113は該プレイアウトFIFOで消耗された同じ数のサンプルで更新される。該プレイアウトFIFO内の正しい数のサンプルを該プレイアウトライトポインター4111から充たすことを保証するのは応用ソフトウエアのタスクである。] [0025] 同様に、キャプチャーシステム4200では、ADC4201はADCCLK4202によりクロック駆動され、すなわち該ADCはADCCLK4202のレートでサンプルを作る。ADCCLKは、前記の様に、ADCCLKと必ずしも同じでない、発振器の遙かに高い周波数のクリスタルから通常得られる。該ADCは1度に1サンプルを該ADC FIFO4203へ送る。該ADC FIFOはハードウエア又はソフトウエアの両者で実現されてもよい。該ADC FIFOが満杯の時、該FIFOはNcaptureのサンプルを該キャプチャーSRC(サンプルレート変換器)4204へ送り、該SRCは又該計算された数のサンプルを、該キャプチャーFIFO4210の部分である該キャプチャーリングバッフアー4212へ送る。Ncaptureは1程に低くてもよいが、又より多い数が普通である。該キャプチャーリードポインター4213は該キャプチャーFIFOに送られる同数のサンプルで更新される。該キャプチャーリードポインター4211から読み込まれる正しい数のサンプルを該キャプチャーFIFOから消耗することを保証するのは応用ソフトウエアのタスクである。] [0026] 応用ソフトウエア4400はそれぞれ、プレイアウト及びキャプチャーFIFOへ/からサンプルを送り/受ける。] [0027] フアイル又は他のクロック駆動されないソースからオーディオデータを読む/該ソースへオーディオデータを書く応用ソフトウエアについては、正しい数のサンプルを該プレイアウト/キャプチャーFIFOへ/から、作る/消耗することは通常簡単である。もう1つのクロック駆動されるソース/吸い込み、から/へ、オーディオデータを得る/送る単信応用ソフトウエアについても、プレイアウト/キャプチャーFIFO、へ/から、送られる/消耗されるサンプルの数を修正することは、1つ以上のサンプルを挿入するか又は除去するか何れかにより通常寧ろ直裁的である。この様な挿入又は除去は聴取可能な劣化無しに行われ得て、これのための技術は公知である。この様な技術がサンプルを挿入か除去か何れかを行うので、時間遅延変化はあるが、大抵の応用ソフトウエアではこれは受け入れ可能である。] [0028] しかしながら、応用ソフトウエアにより送られるサンプルと消耗されるサンプルの間の精確な関係が重要な応用には、もう1つの解が見出されねばならない。これはエコーキャンセリングの場合である。この需要を伴う他の応用、例えば測定応用他があることを指摘されるべきである。] [0029] 本発明の目的は、従来技術に於ける上記問題の少なくとも1つを解決する、本明細書の始めの部分で述べた方法、クロックドリフト補償ユニット、クロックドリフト補償ユニットの使用法を提供することである。] [0030] 本願の独立請求項に規定された特徴はこの方法、クロックドリフト補償ユニットと使用法を特徴付ける。] 図面の簡単な説明 [0031] 本発明をより容易に理解可能にするために、下記論議では付随する図面を参照する。 ハンドフリー通信システムの典型的エコー問題を図解する。 基本的フルバンド音響エコーキャンセラーの略図である。 基本的サブバンド音響エコーキャンセラーの略図である。 PC内のプレイアウト及びキャプチャーシステムの典型的セットアップを図解する。 本発明の1実施例のクロックドリフト補償器を図解する。 本発明の代わりの実施例のクロックドリフト補償器を図解する。 プレイアウトシステムとキャプチャーシステムの間の異なるサンプリングレートを補償する流れ図を画く。 典型的ポインター更新計画を図解する。] [0032] 下記では、本発明が好ましい実施例の説明と付随する図面の参照により論じられる。但し、同業者は他の応用及び変型を実現すると思われ、それらは本願の独立請求項で規定した本発明の範囲内に入るものと考える。] [0033] 本発明の或る側面の基本的アイデアは、PCの様な計算ユニット用であり、例えば該計算ユニットに接続された又は該計算ユニットに含まれるオーディオI/Oデバイスに於ける、アナログからデジタルへ(A/D)及びデジタルからアナログへ(D/A)の変換器の異なるサンプリング周波数を補償する、クロックドリフト補償器を提供することである。] [0034] 上記の様に、図4はPCに於けるプレイアウトシステム4100及びキャプチャーシステム4200の典型的セットアップを図解する。図5では、図4のセットアップが本発明の或る原理によるクロックドリフト補償器5300を用いて展開される。該クロックドリフト補償器5300は該プレイアウト及びキャプチャー信号の異なるサンプリング周波数を補償するよう構成される。該クロックドリフト補償器5300は、共通の高周波(HF)クロック5301,プレイアウトタイムデバイス、或いはプレイアウトタイム見積器5311,プレイアウトタイム修正器5312,キャプチャータイムデバイス、或いはキャプチャータイム見積器5321,そしてキャプチャータイム修正器5322を有する。該ドリフト補償器5300は、キューバッフアー、特に円形バッフアー又はリングバッフアーの様なFIFOバッフアーであってもよい、プレイアウトバッフアー5110にデータを書き、そしてキューバッフアー、特に円形バッフアー又はリングバッフアーの様なFI FOバッフアーであってもよいキャプチャーバッフアー5210からデータを読む、よう構成される。更に、該ドリフト補償器5300は、該応用ソフトウエア5400へ/からデータを送り、受けるよう構成される。用語“応用ソフトウエア”は簡単のため要素5400用に使われて来たが、この要素は現実にはハードウエア及びソフトウエアの両者を有してもよいことは理解されるべきである。要素5400は又本明細書では計算ユニットと呼ばれて来ており、該ユニットは例えば、オーディオエコーキャンセルユニットであってもよい。クロックドリフト補償ユニット5300は、該応用ソフトウエアが共通のHFクロック5301に同期化されるように、共通のHFクロック5301からの高周波クロック信号を該応用ソフトウエア5400へ提供する。] 図4 図5 [0035] 該共通のクロックの周波数はこの文脈では、キャプチャーユニットにより取り込まれるアナログ信号及び該プレイアウトユニットにより出力されるアナログ信号の性質に比較して高いと理解されるべきである。約1MHzから1GHzの範囲のクロック周波数が例えば使われてもよい。] [0036] クロックドリフト補償器5300は、該プレイアウトFIFO5110リードポインター及び共通HFクロック5301から、のみならず該キャプチャーFIFO5210ライトポインター及び該共通HFクロック5301から、の位置情報を請求する。該クロックドリフト補償器5300は該位置及びクロック情報を使い、該共通HFクロック5301と該プレイアウトサンプル番号又はプレイアウトリードポインターとの間の第1関係、同様に、該共通HFクロック5301と該キャプチャーサンプル番号又はキャプチャーライトポインターとの間の第2関係、を計算する。これらの計算された関係に基づき、該共通のクロックドメイン内の各サンプルについて、対応するするサンプルが該キャプチャーFIFO内で見出され、共通のクロックサンプリング周波数に於ける応用ソフトウエア5400への入力信号を創る。同様に、該プレイアウトドメイン内の各サンプルについて、対応するサンプルが該応用ソフトウエアからのサンプル内に見出され、正しい数のサンプルが該プレイアウトFIFOへ送られることを保証する。] [0037] 下記では、クロックドリフト補償器が例により詳細に説明される。もしリングバッフアーがバッフアー(キューバッフアー、FIFOバッフアー)として使われるなら、ポインターがラップするであろう。下記でポインターに言及する時は、ラップされないポインターを意味する。ポインターをラップしないことは直裁的で、当業者には良く知られている筈である。] [0038] プレイアウトタイムデバイス又はプレイアウトタイム見積器5311は多数セットのデータを読むが、各セットは、共通高周波クロック5301と、該プレイアウトリードポインター5113と、のサンプル/読み出し値である。多くのこの様なセットのデータに基づき、該プレイアウトリードポインターと該高周波クロックの間の関係が見積もられる。該プレイアウトリードポインター5113はDAC変換クロック5102の表現として使われる。該DACタイムドメイン内の各サンプル時間について、応用ソフトウエア5400の対応する時間(該応用基準クロック、該共通のHFクロック5301により測定された)が計算される。かくして、プレイアウト(DAC)ドメイン内の各サンプル用の正しいサンプル値が、最も近い応用ドメインサンプルとサブサンプル遅延フィルターを使うことにより該プレイアウトタイム修正ブロック5312により計算される。最後に、このサンプルはプレイアウトリングバッフアー5112に書かれる。該DAC変換クロックが該応用(共通)クロック5301に比してドリフトする場合に、該タイム修正器5312の出力上に発生したサンプルの数が該タイム修正器5312により消耗されたサンプルの数と僅かに異なり、すなわちそれがサンプルレート変換器として働くことを注意すべきである。] [0039] 同様に、該キャプチャータイムデバイス、又はキャプチャータイム見積器、5321は多数セットのデータを読むが、各セットは、該共通の高周波クロック5301と該キャプチャーライトポインターのサンプル/読み出し値である。多数セットのデータに基づき、キャプチャーライトポインターと高周波クロックの間の関係が見積もられる。該キャプチャーライトポインターは該ADC変換クロック5202の表現として使われる。該応用ソフトウエア5400のタイムドメイン内の各サンプル時間(応用基準クロック、共通HFクロック5301により測定された)について、該ADCの対応する時間が計算される。かくして、該応用ソフトウエアの正しいサンプル値が、最も近いADCドメインサンプルと既知の補間法を使うことにより、該キャプチャータイム修正ブロックにより計算される。該応用ソフトウエアの(共通)クロック5301が該ADCクロック5202に比してドリフトする場合に、キャプチャータイム修正器5322の出力上に発生したサンプルの数が、該キャプチャータイム修正器5322の入力で消耗されたサンプルの数と僅かに異なり、すなわちそれがサンプルレート変換器として働くことを注意すべきである。] [0040] 該ADC及びDAC間のみの補償用には、図5で示すドリフト補償器5300は2つの方法で簡単化される。] 図5 [0041] 本発明の1つの例示用実施例に依れば、該応用ソフトウエアはDACCLK5102に同期化される。この場合、該プレイアウトリードポインター5113は共通のクロックとして作用し、そして図6で図解する様に、キャプチャータイムデバイス及びクロック修正器はこのクロックを該共通のクロックとして使う。該プレイアウトシステム5100と応用ソフトウエア5400は同期しているので、該プレイアウトデバイスとタイム修正器は簡単な或いは平凡な仕方で動作するが、それらは本発明の原理となお一貫している。この特別の実施例では、第1関係は計算されるよりも寧ろ設定されるが、第2関係は計算される。] 図6 [0042] 本発明の第2の例示用実施例に依れば、該応用ソフトウエアは該ADCCLK5202に同期化される。この実施例では、キャプチャーライトポインター5213は共通クロックとして作用し、そしてプレイアウトタイム見積器5311とプレイアウトクロック修正器5312はこのクロックを共通クロック5301として使う。該ADCと応用ソフトウエアは同期しているので、該キャプチャータイムデバイスとタイム修正器は簡単な又は平凡な仕方で動作してもよいが、それらはなお本発明の原理と一貫している。この特別の実施例では、該第2関係は計算されるより寧ろ設定されるが、該第1関係は計算される。] [0043] しかしながら、多くの場合、1つの信頼されるクロック源に同期化することは有利である。何よりも、該共通のクロックは高分解能であるべきである(後で説明する様に、該プレイアウト又はキャプチャーポインターは必ずしも高分解能ではない)。第2に、該応用ソフトウエア5400は出来るだけ真の世界クロックと同期したクロックを使うべきである。後者は、通信システムがもう1つのシステムと通信する時、或いは測定システムが真の世界時間での測定を参照する時、重要である。] [0044] 従って、本発明の1実施例に依れば、安定で信頼されるクロック源(DACCLK又はADCCLKではない)が共通のHFクロック5301として選択される。この共通クロックは又応用ソフトウエア5400の基準クロックとして作用する。例えば、共通のHFクロック5301はPCのシステムクロックであってもよい。この実施例で、該第1及び第2関係は共に計算される。] [0045] 図7及び8は本発明の1実施例によるクロックドリフト補償器の動作の展望のフローチャート表現を示す(下記論議では図5を参照する)。図7及び8のブロックの各々は下記論議で更に規定される過程を表す。] 図5 図7 [0046] 動作は過程600で始まるが、そこでは該応用ソフトウエア5400はスタートし、それぞれプレイアウト/キャプチャーシステム5100/5200へ/からデータを送ること5402及び請求すること5401を始動する。本発明の1つの例示用実施例に依れば、5400は、通信ネットワークを経由して遠隔側(示されてない)からデジタルオーディオ信号を受信し、そしてプレイアウトシステム5100を経由してスピーカー上でそれを演奏する、オーディオエコーキャンセラー(AEC)である。近端からの音声はキャプチャーシステム5200により取り込まれ、デジタル化される。背景セクションで説明した様に、該AECはエコーのないオーディオ信号を計算し、それを通信ネットワーク経由で遠隔側(図示されていない)へ送り返す。] [0047] 上記説明の補償計画を複雑化する幾つかの要因がある。] [0048] 該プレイアウト/キャプチャータイム見積器5311/5321がデータセットを読む(過程601)時、該共通のHFクロック5301と該プレイアウト/キャプチャーFIFOポインター5113/5213は全部が同時には得られない。それらの1つは常に最初に、そして他のものは次に読まれねばならない。勿論、該データセット内の該第1クロックが読まれると、第2クロックはランを続ける。読みの間の時間が一定である限り、これは何等問題を創らない。しかしながら、コンピュータハードウエア及び応用ソフトウエアはあらゆる種類の割り込み他を屡々要求し、今度はそれが読みの間の変化する時間となる。或る場合は、割り込みを不可にすることにより、該タイム見積器5311/5321は、各セット内の2つの読みの間の時間偏差が重要でない、或いは少なくとも、フィルター動作により該時間の不確かさを除去することを可能にする程充分小さい、ことを保証する(状況1a)。しかしながら、或る応用ソフトウエアは割り込みを不可にする権威を有さず、読み出し間に有意な時間偏差へ導く。] [0049] 或る応用ソフトウエアは割り込みを不可にする権威を有しないので、本発明の或る側面に依る方法とデバイスは各データセットを或る基準に依りチェックし、前記基準に適合しないデータセットを除去する。過程602に図解される様に、各データセットについて、該HFクロック5301の読み出し値は受け入れ可能かがチェックされる。これは該共通HFクロック5301を最初に読むことで行われ、その後該FIFOポインター5113/5213に該共通HFクロック5301のもう1つの読みが続くことで行われる。今、データの各セットは2つの代わりに3つのデータ点を有する(三つ組み)。データの多くのセットを解析することにより、2つの共通HFクロック5301読み出しの間の時間の分布が計算される。もしデータセット(三つ組み)内の2つの共通HFクロック5301間の時間が異常(該分布に従うには余りに長い)なら、異常な何か(例えば、割り込み)が起こったと取られ、該データセットを不確かとする。この様な不確かなデータセットは不適格化されねばならず(過程605)、更に進んだ計算用には不確かさの低いデータセットのみを残す(過程603)。] [0050] 上記で説明した、もう1つの問題は、該FIFOポインターが可成り大きなステップで更新されてもよいことである。換言すれば、該FIFOバッフアー5110/5210は1度に1つづつのサンプルを書かなくても/読まなくてもよく、寧ろ周期的にデータの塊、例えば1度に128サンプル又は1度に16サンプル、を読み/書きしてもよい。従って、該プレイアウト/キャプチャーポインター5113/5213の連続した読み出し値は同じ結果を与えるか、或いは2つの連続する読み値も大きな値で異なるかも知れない。これは図9の例で図解される。この例で、データの読みのセットは;(0;0)、(1;0)、(2;0)、(3;0)、(4;0)、(5;2)、(6;2)、(7;2)、(8;2)、(9;4)、(10;4)、他である。これは現実の変換クロックの量子化として作用し、正しく扱われないなら問題を引き起こすかも知れない。直接、読むと、この 量子化は量子化ノイズを導入するが、“定例の”量子化ノイズと異なり、このノイズは白色/ランダム過程であるとは仮定出来ず、それは非常に規則的で、クロックと相関がある。該ノイズは3角形信号パターンとして現れ、該パターンは少なくサンプルされた時、エイリアス問題等をもたらす(CPUの複雑さのために、データセットは頻繁には読まれるべきでない)。] 図9 [0051] 本発明の或る側面では、この問題はポインターが更新する時に該FIFOポインター5113/5213を読むことにより解決されてもよい。これは貴重なCPU資源を節約し、何故ならば該CPUは更新の間の期間はフリーにされ得るからである。典型的に応用ソフトウエア5400は該ポインターの期待される更新の直前のラン時間を保証/請求せねばならない(例えば、タイム割り込みを使って)。期待される更新タイムは初期の段階で該FIFOの更新手順を分析することにより見出されてもよい。例えば、もしFIFOが典型的に128サンプルの塊で更新し、変換クロック5102/5201が48kHzの周波数を有するなら、該ドリフト補償器5300は更新後それが新データセットの読みに復帰する前に、約N*128/48000秒(ここでNはCPUの複雑さと精度の間の妥協として選ばれた、何等かの正の整数)の間、該FIFOポインター(5113及び/又は5213)を読むことを停止してもよい。期待される更新の直前に、該ドリフト補償器5300は、該ポインターが2つの連続する共通HFクロック読み出し間で更新するまで、三つ組みを読む。実際にはこれは例えば、C−がクロックの読みを示し、P−がポインターの読みを示すとして、C−1、P−1、C−2、P−2、C−3、P−3、C−4他の様に、該ポインターが更新されるまで、共通のHFクロック5301、次いでFIFOポインター5113/5213、HFクロック、FIFOポインター等々を読むことにより実施される。もしFIFOポインター5113/5213がP−1からP−2へ更新するなら、登録されている該共通のHFクロック5301はC−2か、又はC−1,C−2及びC−3のある平均(又は重み付け)となる。登録されるポインターは典型的に(しかし他の変形も適用可能である)P−1及びP−2の平均である。前の基準に適合するために、C−1及びC−2の間の時間は異常に高くあってはならないか、又は該データセットは捨てられるだろう(過程605)。CPU負荷の観点からは、それらを読みながら該ポインター内の移行についてテストするのが最善であろう。しかしながら、時間の不確かさを減ずる、すなわち、(この場合)C−1からC−2への出来るだけ短時間を保証するために、与えられた時間の間(ポインターの期待される移行+マージンまで)該シーケンスを記録保存し、後で該移行を配置することが有利である。] [0052] 更に進んだ計算が、正しくない又は不確かなデータセットにより影響されないことを保証するために、なおもう1つの問題が取り組まれる必要がある。パーソナルコンピュータに於ける不充分さのために、FIFOポインターの不思議で予期しない動作;予期しない更新過程、ポインターが後ろへ戻る他、が経験される。この動作はドリフト、キュー問題(請求の誤った実行)を補償するよう努めるオーディオカードドライバーにより引き起こされる。従って、過程604に図解する様に、過程602で捨てられてない各データセットについて、もう1つのチェックが行われる。上記の様に、データは時間経過中解析され、統計も正規のポインターインクレメントに亘り保たれる。もしポインターが異常な値により更新されるなら、そのデータセットは捨てられる(過程605)。例えば、ポインターが或る時間に亘り128サンプルで連続的に更新されるなら、128サンプルから可成り逸れる更新は不確かなデータセットと見なされ、従って捨てられる。しかしながら、サンプルレート変換器5104/5204のために、1サンプルでの逸れ(すなわち、127か又は129の更新)は有効な更新と見なされねばならない。] [0053] 時間経過に亘り、多数対のC及びPデータが過程602及び604の両者で承認され、次いで登録される(過程606)。このデータは全ての無資格の対を許すアルゴリズムで処理されねばならず、それは該アルゴリズムが均一なサンプリングを要求してはならない ことを意味する。更に、ノイズの多い(状況1aからのノイズ)セットの対から、該アルゴリズムは該共通HFクロック5301(Cにより示される)とポインター5113/5213(Pにより示される)の間の関係を適当な精度で見積もらねばならない。従って、本発明の1実施例に依れば、共通クロックとキャプチャーポインターの間及び共通クロックとプレイアウトポインターの間の関係は、統計モデルに基づき計算される。下記では或る適当な線形回帰法が導入される。しかしながら、本発明の範囲内で他の統計モデルが使われてもよい。] [0054] 1つのサンプルの現実のクロック(共通HFクロック5301により測られる)は下記で計算される。] [0055] Cfiltered=α*Psample+β [1]] [0056] 係数αは、共通HFクロック5301とポインター5113/5213の間のレート関係であり、公称HFクロック周波数をポインター更新レートで割った値にクロックドリフト定数を規定する小さい値をプラス/マイナルした値を有する。係数βは、オフセットに過ぎず、C及びPが同じ時間にゼロでスタートしない普通の場合を除く。] [0057] 従って、過程607で、該係数α及びβが計算される。本発明の1例示用実施例に依れば、最小平均2乗アルゴリズムがフィルター用アルゴリズムとして使われる。] [0058] SP=ΣPi [2] SC=ΣCi[3] SPP=ΣPi2 [4] SPC=ΣPi*Ci [5] M=計算内のデータセットの数、 iは合計を計算するデータセットのセットを示す α=(M*SPC−SP*SC)/(M*SPP−SP2) [6] β=(SC*SPP−SP*SC)/(M*SPP−SP2) [7]] [0059] Cfilteredの精度はより多い数のデータ対(M)で改善する。しかしながら、時間経過するとドリフトオフセットは変わり、PsampleとCfilteredの間の線形関係を無効化させる(αが変化する)。従って、該計算の最初と最後のデータセット間の時間は、精度(長時間を要する)と、変化するドリフト係数を追跡する能力(線形関係が良好な近似であること、従って時間の限定、を要する)と、の間の妥協として選択されねばならない。高次モデルは使われ得て、この妥協を簡単化するが、実際には、該ドリフト係数は、線形/1次モデルを使って適当な妥協を行うのに充分な程ゆっくり変化する。] [0060] 変化するドリフト係数の追跡を続ける必要性は、新データセットが検索される、すなわち上記合計はスライドする窓として計算されるので、クロック/ポインターデータの最も古いセットが計算外に残されねばならぬことを意味する。直接各新しい対のデータ用に合計を計算することは必ずしも必要でない。CPUサイクルを節約するために、新及び最も古いデータセットの更新で充分である。] [0061] SP,m=SP,m−1+Pm−Pm−M [8] SC,m=SC,m−1+Cm−Cm−M [9] SPP,m=SPP,m−1+Pm2−Pm−M2 [10] SPC,m=SPC,m−1+Pm*Cm−Pm−M*Cm−M [11] ここでM=計算内のデータセットの数、 mは最も最近の対のインデックスを示す α=(M*SPC,m−SP,m*SC,m)/(M*SPP,m−SP,m2) [12] β=(SC,m*SPP,m−SP,m*SC,m)/(M*SPP,m−SP,m 2) [13]] [0062] 上記式は理論的には正しいが、限られた精度/丸め込みのために形成される誤差が問題を引き起こす。従って、本発明のもう1つの例示用実施例に依れば、その計算に損失係数(δ)が付加される。] [0063] SP,m=δ*SP,m−1+Pm−δM*Pm−M [14] SC,m=δ*SC,m−1+Cm−δM*Cm−M [15] SPP,m=δ*SPP,m−1+Pm2−δM*Pm−M2 [16] SPC,m=δ*SPC,m−1+Pm*Cm−δM*Pm−M*Cm−M [17] SM=Σδi,i=0..(M−1) [18] α=(SM*SPC,m−SP,m*SC,m)/(SM*SPP,m−SP,m2 ) [19] β=(SC,m*SPP,m−SP,m*SC,m)/(SM*SPP,m−SP, m2) [20]] [0064] SMは一定であり、かくして1度計算する必要があるのみである。] [0065] 該損失係数δは1より少し小さく選択されるのが典型的である。この係数はより古いデータの影響を低減し、それは又丸め誤差について忘却係数(forgetting factor)を導入する。] [0066] 損失係数δの付加は該低減を1つの更に進んだ簡単化で可能にする。Mを無限大として選択することにより、δMは0に近付き、従ってスライドする合計[14]−[17]内の引き算は省略出来て、合計する目的用の遅延ライン内にはデータは蓄積されない。欠点は適当なフィルタリングと変化するドリフト係数を追跡する能力との間のより難しい妥協である。全てのデータ対は“永久に生きる”が、ドリフト係数の追跡は多くの場合可能であり、それはより古いデータ対(損失係数δの適当な選択により)は計算内に有意でない重みを有するからである。] [0067] どんなサンプル/ポインターの正しい時間Cfiltered(共通HFクロック5301に対する)も、見積もられたα、β及び式[1]、Cfiltered=α*Psample+β、過程701に基づき、計算されてもよい。] [0068] プレイアウトタイム修正器5312及びキャプチャータイム修正器5321のタスクは、異なるドメイン間の時間オフセット/スキューを知って、1つのタイムドメイン内の正しいサンプル値を、もう1つのタイムドメイン内の既知のサンプルに基づき、計算することである。下記では、本発明の1実施例により、キャプチャードメインサンプルが如何にして共通ドメインサンプルに変換されるかを説明する。しかしながら、共通ドメインからプレイアウトドメインへの変換は同様である。] [0069] 計算されたクロック関係(過程701)に基づき、共通ドメイン内の各サンプルについて、キャプチャーサンプルタイム修正器5321はキャプチャードメイン内の対応するサンプルを見出す。用語、対応するサンプルとは、共通ドメイン内の各サンプル時間について、その時間用のキャプチャードメイン内のそのサンプル値が、その時間にサンプルが存 在し、サンプル値を直接コピーすることによるか、又は或る種の間挿法の技術を使ってその時間のサンプル値を計算することによるか、何れかにより見出されるサンプルと解釈されるべきである。それで、共通ドメイン内の各サンプルについて、キャプチャーサンプルタイム修正器5321は、共通ドメイン内のサンプルに時間的に最も近いキャプチャードメイン内のサンプル(インデックスj)を見出す(過程702)。もしドメイン間のオフセット(時間スキュー)が整数なら、サンプルjはコピーされ、直接使われる(過程706)。しかしながら、該オフセット(時間スキュー)は通常整数ではない。従って、分数値τ、以後残留係数τと呼ぶ、が計算される(過程703)。該残留係数、τ、は該整数のオフセット/スキュー値を引き算した後の剰余であり、サブサンプル遅延を規定し、概略−0.5と0.5の間にあるべきである。サンプリング周波数のドリフトのために範囲[−0.5、0.5]の僅かに外側の値が起こることを注意すべきである。] [0070] サブサンプル遅延で信号を遅延させることは、一定時間遅延を有する全帯域通過フィルターを使って行われてもよい。オフセットを有するシンクパルスはこれらの特性を有する。シンクパルスはしかしながら、規定により長さが無限大であり、実用的実施では窓が適用されねばならない。該窓の特性と長さは、その周波数応答(大きさ及び遅延の両面で)が関心のある全周波数で適当な精度を有することを保証するよう選ばれねばならない。例えば、もしエコーキャンセラーが16kHzのサンプリングレートで作動するなら、7kHzまでのオーディオ信号が普通存在する。この場合、周波数応答の大きさと遅延は7kHzまでフラットであらねばならないが、7kHzより上では大きさ及び位相は理想的応答から逸れてもよく、それはこの帯域では信号が無いからである。この目的で非常に良い特性を有すると見出された1つの窓の種類はブラックマン窓である。] [0071] かくして長さL+1のサブサンプル時間遅延フィルター(hτ)が計算される。] [0072] hτ=sinc{(−L/2..L/2)−τ}*window(length L +1) [21]] [0073] L=48、ブラックマン窓、16kHzのサンプリング周波数、7kHzまでの関心のある周波数を選ぶと、このフィルターの時間遅延誤差は0.005サンプルより小さく、そして増幅誤差は0.005dBより小さく、この様な小さい誤差はエコーキャンセラー性能の気付き得る劣化を引き起こさないであろう。] [0074] 最後に、過程705で、該共通クロックドメインのサンプルy(換言すれば、j±τに於けるサンプル値)が、時間遅延フィルター(hτ)とキャプチャードメインからのサンプルのシリーズとの畳み込みとして計算される。] [0075] y=hτx[j−L/2..j+L/2] [22]] [0076] ここでxはキャプチャータイムドメインからのサンプルのタイムのシリーズである。該計算で使われるサンプルのベクトルは時間的に最も近いサンプル付近に中心を有し、jにより規定されるが、残るサブサンプルの遅延は該全域通過フィルターhτにより規定される。] [0077] ドリフティングの場合、残留係数τは各サンプルについて変わり、従って各サンプル用に新フィルターhτが必要である。各サンプル用に新フィルターを計算するのは余りにも消耗する計算となる。データセットの適切な選択及び適当なフィルタリングは確保されるが、時間遅延に際して或る残留ノイズが常にあるであろう。従って、気付き得る劣化無しに、(例えば、均一に分布した)離散したセットの遅延と予め計算されたフィルターの対応するセットとを規定することは可能である。処理中に、現実の遅延と比較して最小の誤 差を有する予め計算されたフィルターが選択される。この効果はτの量子化と同じである。サブサンプル遅延が該[−0.5、0.5]範囲を越えるので、これらの超過遅延をも処理する或る予め計算されたフィルターもあるべきこと、を注意すべきである。] [0078] このタイム修正アルゴリズムは、連続する共通クロックドメインサンプル用に、キャプチャードメインから共通ドメインへのリサンプラーとして作用する。もし周波数に何等かのドリフトがあるなら、見積もりタイムも対応してドリフトし、従ってレート(そしてサンプル数)は意図された様に、キャプチャードメインから共通クロックドメインへ僅かに変えられる。本発明の1実施例に依り、全帯域通過フィルターをレート変換アルゴリズムのフィルターとして使うことは或る理論的“ためらい”を有し、例えばシンク幅がサンプル変換レートに理想的に適合されるべきことを指摘されるべきである。しかしながら、実用目的では、変換レートが常に1に非常に近いので、これらの理論的側面は重要でない。] [0079] 上記で論じた同じ種類の修正はプレイアウト側でも行われる。従って、応用ソフトウエア(例えば、計算ユニットで実施されるエコーキャンセラーアルゴリズム)は送信され、受信される全信号について同じサンプル周波数(時間ベース)を見る。従って、非同期ADC及びDAC変換レートを有するシステムでそれを働かせるために、例えば、標準エコーキャンセリングアルゴリズムの修正は必要でない。] [0080] PCでは、オーディオキャプチャー又はプレイアウトのグリッチは屡々存在する。これらはオーディオデータの完全な失われたフレーム又は1つのサンプルの消失により引き起こされる大きなグリッチであってもよい。理由はCPU過負荷等であってもよい。この様なグリッチの検出と調整の方法を規定するのは本発明の範囲外である。しかしながら、説明したアプローチを使い、サンプルの小部分の精度を用いたタイミングの計算は可能であり、この様な検出と修正を簡易化する。] [0081] 本発明の方法及びドリフト補償器は幾つかの利点を有する。何等かのドリフト又はタイミングの他の差は高精度で効率的に検出され、応用ソフトウエア5400,例えばエコーキャンセラー又は他の計算ユニットを適当に働かせる。該高精度のため、グリッチの様な他の欠陥は容易に検出され、補償される。] [0082] リセット用アルゴリズムは無いので、状況の何等かの変化は自動的に検出され、アルゴリズムにより補償される。誤差又はオフセット形成は無く、応用ソフトウエア5400の出力(例えば、エコーキャンセラー拡声器信号2102/3102)からプレイアウト及びキャプチャーシステム及びソフトウエア層を通って該応用ソフトウエア入力(例えば、該エコーキャンセラーマイクロフォン入力2106/3106)までの経路は常に一定である。] [0083] 完全なシステムは信頼され、良く知られたクロック源に合うようクロック駆動及び同期化され、何等かのベンダーのADC又はDACサブシステムに依存しない。] [0084] クロックドリフト補償器5300は完全に別のモジュールであり、そのことは該補償器が標準の応用ソフトウエアを調整する何の必要も無しに該標準の応用ソフトウエアと共に使用され得ることを意味する。例えば、同期ADC及びDACを有する埋め込まれた製品用に開発されたエコーキャンセラーは、更に修正すること無しに、論じられたドリフト主題を用いて、PC内で使われ得る。] [0085] 本発明のクロックドリフト補償器5300は、DAC及びADC間の既知の/固定した関係を要するどんな種類の応用ソフトウエア用にも適用可能である。] [0086] 該クロックドリフト補償器は、電話会議システム又はビデオ会議システムの様な、遠隔会議システムでの音響エコーキャンセリング用に使用されてもよい。] [0087] 特に、該クロックドリフト補償器は、遠隔会議ターミナルが通信ネットワークを経由して相互通信する遠隔会議システムで音響エコーキャンセリングを得るために、電話会議ターミナル又はビデオ会議ターミナルの様な遠隔会議ターミナルに組み入れられてもよい。] [0088] この様な遠隔会議ターミナルは更に、オペレーティングシステム及び応用ソフトウエアを動作させる定例のパーソナルコンピュータの様な計算ユニットと、該クロックドリフト補償器内に含まれるプレイアウトユニットにより含まれるプレイアウトFIFOバッフアーからデジタルデータを読むよう構成されたD−A変換器と、該D−A変換器により提供されるアナログ信号を増幅するよう構成されたオーディオ増幅器と、該オーディオ増幅器の出力に接続されたオーディオ拡声器と、マイクロフォンと、該マイクロフォンに接続されたマイクロフオン増幅器と、該マイクロフォン増幅器出力信号をデジタル形式に変換し、該デジタル信号を該クロックドリフト補償器内に含まれるキャプチャーユニットにより含まれるキャプチャーFIFOバッフアーへ提供するよう配備されたA−D変換器と、を具備する。該計算ユニットはローカルエリアネットワーク及び/又はインターネットの様な通信ネットワークに動作的に接続されてもよく、かくして該ネットワーク上の遠隔会議を可能にする。該遠隔会議ターミナルはカメラと、ディスプレーとビデオ会議を可能にする更に進んだ構造的及び機能的特徴と、を追加して具備してもよい。]
权利要求:
請求項1 プレイアウトユニット及びキャプチャーユニットの間の異なるサンプリングレートを補償する方法であって、該プレイアウトユニットが計算ユニットからサンプルを受けるよう構成されており、該キャプチャーユニットが該計算ユニットへサンプルを送るよう構成されており、該プレイアウトユニットがプレイアウトタイムドメイン内で動作するプレイアウトバッフアーを有しており、前記キャプチャーユニットがキャプチャータイムドメイン内で動作するキャプチャーバッフアーを有している方法において、前記計算ユニットを共通クロックタイムドメイン内で動作する共通クロックに同期化させる過程と、前記共通クロックと、前記プレイアウトバッフアーに付随するプレイアウトリードポインターと、の間の第1関係を設定又は計算する過程と、前記共通クロックと、前記キャプチャーバッフアーに付随するキャプチャーライトポインターと、の間の第2関係を設定又は計算する過程と、該プレイアウトタイムドメイン内の各サンプルについて、前記第1関係に基づいて、前記計算ユニットからの該サンプル内の対応するサンプルを見出し、そして該対応するサンプルを前記プレイアウトバッフアーへ送る過程と、そして該共通クロックタイムドメイン内の各サンプルについて、前記第2関係に基づいて、該キャプチャータイムドメイン内の該対応するサンプルを見出し、そして該対応するサンプルを前記計算ユニットへ送る過程と、を具備することを特徴とする方法。 請求項2 前記第1関係が設定され、前記第2関係が計算される請求項1記載の方法。 請求項3 前記第1関係が計算され、前記第2関係が設定される請求項1記載の方法。 請求項4 前記第1及び第2関係が計算される請求項1記載の方法。 請求項5 前記計算ユニットがオーディオエコーキャンセラーである請求項1−4の1つに記載の方法。 請求項6 統計的モデルが前記第1又は第2関係を計算するため使われる請求項1−4の1つに記載の方法。 請求項7 前記統計モデルが、最小平均2乗アルゴリズムと、そして丸め誤差を減じるための損失係数を有する最小平均2乗アルゴリズムと、から成るセットから選択された線形回帰法を有する請求項6記載の方法。 請求項8 前記共通クロックが、前記リードポインターに付随するクロック信号と、前記キャプチャーポインターに付随するクロック信号と、そして該計算ユニットの中央処理ユニット(CPU)に付随するクロック信号と、から成るセットから選択される請求項1−7の1つに記載の方法。 請求項9 該キャプチャータイムドメイン内の対応するサンプルを見出す前記過程が、該共通クロックタイムドメイン内のサンプルに時間で最も近い該キャプチャータイムドメイン内のサンプルを識別する過程と、もし該共通クロックタイムドメインと該キャプチャータイムドメインの間のオフセットが整数なら、該識別されたサンプルを見出されたサンプルとして提供する過程と、そしてもし前記オフセットが整数でないなら、サブサンプルを計算し、該サブサンプルを見出されたサンプルとして提供する過程と、を備える請求項1−8の1つに記載の方法。 請求項10 サブサンプルを計算する前記過程が、共通クロックタイムドメインと該キャプチャータイムドメインの間のオフセットから整数を引き算後の残差である残留係数τを計算する過程と、そして長さL+1の時間遅延フィルター(hτ)を該キャプチャータイムドメインからのサンプルのシリーズと畳み込む過程、y=hτx[j−L/2..j+L/2]、であるが、ここでxは時間で最も近い該サンプル付近に中心を置いたキャプチャータイムドメインからのサンプルの時間シリーズである、該畳み込む過程と、を有する請求項9記載の方法。 請求項11 サブサンプルを計算する前記過程が、離散数の残留係数(τ)用に時間遅延フィルターのセット(hτ)を予め計算する過程と、そして前記予め計算されたフィルター(hτ)の1つを選択する過程であるが、前記選択されたフィルターが前記計算された残留係数τに最も近い該フィルターを表す、該選択する過程と、を更に有する請求項10記載の方法。 請求項12 サブサンプルを計算する前記過程が、各サンプルについて前記時間遅延フィルター(hτ)を計算する過程を有する請求項10記載の方法。 請求項13 前記第1及び第2関係が、共通クロック、プレイアウトリードポインターそしてキャプチャーライトポインターデータの読み出し値に基づき、前記第1及び第2関係を計算する該過程が古いデータより新しいデータに強く重みを付ける過程を有する請求項1−12の1つに記載の方法。 請求項14 前記第1関係を計算する過程が第1データのセットを読む過程であるが、前記第1データの前記セットが少なくとも前記共通クロック及び前記プレイアウトリードポインターの実質的に同時の読み出し値を有する、該読む過程と、そしてもし予め規定された基準のセットに適合すれば前記第1データのセットを登録する過程と、を更に有する請求項1−13の1つに記載の方法。 請求項15 前記第2関係を計算する前記過程が第2データのセットを読む過程であるが、前記第2データの前記セットが少なくとも前記共通クロック及び前記キャプチャーライトポインターの実質的に同時の読み出し値を有する、該読む過程と、そしてもし予め規定された基準のセットに適合すれば前記第1及び第2データのセットを登録する過程と、を更に有する請求項1−14の1つに記載の方法。 請求項16 前記予め規定された基準は、該データセットの時間付近の連続する共通クロック読み出し値間の時間が予め規定されたしきい値を越えないか、又はポインターインクレメントが異常でない、ならば適合される請求項14又は15に記載の方法。 請求項17 プレイアウトユニット及びキャプチャーユニットの間の異なるサンプリングレートを補償するクロックドリフト補償ユニットであって、該プレイアウトユニットが計算ユニットからサンプルを受けており、該キャプチャーユニットが該計算ユニットへサンプルを送っており、前記プレイアウトユニットはプレイアウトタイムドメイン内で動作し、少なくとも1つのプレイアウトバッフアーを有しており、そして前記キャプチャーユニットがキャプチャータイムドメイン内で動作し、キャプチャーバッフアーを有しているクロックドリフト補償ユニットにおいて、前記クロックドリフト補償ユニットが、共通クロックタイムドメイン内で動作し、クロック信号を前記計算ユニットに提供する共通クロックと、前記共通クロックと、前記プレイアウトバッフアーに付随するプレイアウトリードポインターと、の間の第1関係を設定又は計算するよう構成されたプレイアウトタイムデバイスと、前記共通クロックと、前記プレイアウトバッフアーに付随するキャプチャーライトポインターと、の間の第2関係を設定又は計算するよう構成されたキャプチャータイムデバイスと、該プレイアウトタイムドメイン内の各サンプルについて、前記第1関係に基づき、前記計算ユニットからの該サンプル内の対応するサンプルを見出すよう、そして前記対応するサンプルを前記プレイアウトバッフアーへ送るよう、構成されたプレイアウトタイム修正器と、そして該共通クロックタイムドメイン内の各サンプルについて、前記第2関係に基づき、該キャプチャータイムドメイン内の対応するサンプルを見出すよう、そして前記対応するサンプルを前記計算ユニットへ送るよう、構成されたキャプチャータイム修正器と、を具備することを特徴とするクロックドリフト補償ユニット。 請求項18 前記第1関係が設定され、前記第2関係が計算される請求項17記載のクロックドリフト補償ユニット。 請求項19 前記第1関係が計算され、前記第2関係が設定される請求項17記載のクロックドリフト補償ユニット。 請求項20 前記第1及び第2関係が計算される請求項17記載のクロックドリフト補償ユニット。 請求項21 前記計算ユニットがオーディオエコーキャンセラーである請求項17−20の1つに記載のクロックドリフト補償ユニット。 請求項22 統計モデルが前記第1又は第2関係を計算するため使われる請求項17−21の1つに記載のクロックドリフト補償ユニット。 請求項23 前記統計モデルが、最小平均2乗アルゴリズムと、そして丸め誤差を減ずる損失係数を有する最小平均2乗アルゴリズムと、から成るセットから選択される線形回帰法を有する請求項22記載のクロックドリフト補償ユニット。 請求項24 前記共通クロックが、前記リードポインターに付随するクロック信号及び前記キャプチャーポインターに付随するクロック信号と、そして該計算ユニットの中央処理ユニット(CPU)に付随するクロック信号と、から成るセットから選択される請求項17−23の1つに記載のクロックドリフト補償ユニット。 請求項25 前記キャプチャータイム修正器が、該共通クロックタイムドメイン内のサンプルに時間で最も近い該キャプチャータイムドメイン内のサンプルを識別する過程と、そしてもし該共通クロックタイムドメインと該キャプチャータイムドメインの間のオフセットが整数なら、該識別されたサンプルを見出されたサンプルとして提供する過程、及び、もし前記オフセットが整数でないなら、サブサンプルを計算し、前記サブサンプルを該見出されたサンプルとして提供する過程と、を行うよう更に構成される請求項17−25の1つに記載のクロックドリフト補償ユニット。 請求項26 前記キャプチャータイム修正器が、該共通クロックタイムドメインと該キャプチャータイムドメインと間のオフセットから整数を引き算した後の残差である残留係数τを計算する過程と、そして長さL+1の時間遅延フィルター(hτ)を該キャプチャータイムドメインからのサンプルのシリーズと畳み込む過程、y=hτx[j−L/2..j+L/2]であり、ここでx[j−L/2..j+L/2]が時間で最も近い該サンプルの付近に中心を置く該キャプチャータイムドメインからのサンプルの時間シリーズである、該畳み込む過程と、を行うよう更に構成される請求項17−25の1つに記載のクロックドリフト補償ユニット。 請求項27 前記キャプチャータイム修正器が、離散数の残留係数(τ)について時間遅延フィルター(hτ)のセットを予め計算する過程と、そして前記予め計算されたフィルター(hτ)の1つを選択する過程であるが、前記選択されたフィルターが前記計算された残留係数τに最も近いフィルターを表す、該選択する過程と、を行うよう更に構成される請求項26に記載のクロックドリフト補償ユニット。 請求項28 前記第1及び第2関係が共通クロック、プレイアウトリードポインター及びキャプチャーライトポインターデータの読み出し値に基づいており、前記プレイアウトタイムデバイス又は前記キャプチャータイムデバイスは、前記第1又は第2関係をそれぞれ計算する時、古いデータより新しいデータを強く重み付けするよう構成される請求項17−27の1つに記載のクロックドリフト補償ユニット。 請求項29 前記プレイアウトタイム修正器が、該プレイアウトタイムドメイン内のサンプルに時間で最も近いサンプルを該計算ユニットからのサンプル内で識別する過程と、そしてもし該プレイアウトタイムドメインと共通クロックタイムドメインの間のオフセットが整数なら、該識別されたサンプルを見出されたサンプルとして提供する過程及び、もし前記オフセットが整数でないなら、サブサンプル(y)を計算し、前記サブサンプルを該見出されたサンプルとして提供する過程と、を行うよう更に構成される請求項17−28の1つに記載のクロックドリフト補償ユニット。 請求項30 前記プレイアウトタイム修正器が、該プレイアウトタイムドメインと該共通クロックタイムドメインと間のオフセットから整数を引き算した後の残差である残留係数τを計算する過程と、そして長さL+1の時間遅延フィルター(hτ)を該計算ユニットからのサンプルのシリーズと畳み込む過程、y=hτx[j−L/2..j+L/2]であり、ここでx[j−L/2..j+L/2]が時間で最も近いサンプルの付近に中心を置く該計算ユニットからのサンプルの時間シリーズである、該畳み込む過程と、を行うよう更に構成される請求項21に記載のクロックドリフト補償ユニット。 請求項31 前記キャプチャータイム修正器及び前記プレイアウトタイム修正器が、離散数の残留係数(τ)用の時間遅延フィルター(hτ)のセットを予め計算する過程と、そして前記予め計算されたフィルター(hτ)の1つを選択する過程であるが、前記選択されたフィルターが前記計算された残留係数τに最も近いフィルターを表す、該選択する過程と、を行うよう更に構成される請求項30に記載のクロックドリフト補償ユニット。 請求項32 前記キャプチャータイム修正器が各サンプル用の前記時間遅延フィルター(hτ)を計算するよう更に構成される請求項30記載のクロックドリフト補償ユニット。 請求項33 前記プレイアウトタイムデバイスが、第1データのセットを読む過程であって、前記第1データの前記セットが前記共通クロック及び前記プレイアウトリードポインターの少なくとも実質的に同時の読み出し値を有する、該読む過程と、そしてもし予め規定された基準のセットに適合するなら前記第1データのセットを登録する過程と、を行うよう更に構成される請求項17記載のクロックドリフト補償ユニット。 請求項34 前記キャプチャータイムデバイスが、第2データのセットを読む過程であって、前記第2データのセットが前記共通クロック及び前記キャプチャーライトポインターの少なくとも実施的に同時の読み出し値を有する、該読む過程と、そしてもし予め規定された基準のセットに適合するなら前記第1及び第2データのセットを登録する過程と、行うよう更に構成される請求項17記載のクロックドリフト補償ユニット。 請求項35 前記予め規定された基準が、もし該データセットの時間付近の連続する共通クロック読み出し値間の時間が予め規定されたしきい値を越えないか又はポインターインクレメントが異常でないなら、適合される請求項33又は34記載のクロックドリフト補償ユニット。 請求項36 請求項17−35の1つに記載のクロックドリフト補償ユニットを具備する遠隔会議ターミナル。 請求項37 遠隔会議システムのエコーキャンセリング用の請求項17−35の1つに記載のクロックドリフト補償ユニットの使用法。
类似技术:
公开号 | 公开日 | 专利标题 US9832569B1|2017-11-28|Multichannel acoustic echo cancellation with unique individual channel estimations JP5671147B2|2015-02-18|Echo suppression including modeling of late reverberation components AU710394B2|1999-09-16|Hands-free communications method KR100594563B1|2006-06-30|선형 컨벌루션 및 인과 필터링을 사용하는 스펙트럼 감산에 의한 신호 잡음 감소 CA2211994C|2005-08-02|Apparatus and method for canceling acoustic echoes including non-linear distortions in loudspeaker telephones JP5038143B2|2012-10-03|エコーキャンセル KR101342296B1|2013-12-16|오디오 트랜스듀서의 선형 및 비선형 왜곡을 보상하기 위한신경망 필터링 기술 US8433074B2|2013-04-30|Echo suppressing method and apparatus US7720232B2|2010-05-18|Speakerphone JP3444877B2|2003-09-08|Digital virtual earth active erase system JP4913155B2|2012-04-11|音響エコーキャンセラ US5570423A|1996-10-29|Method of providing adaptive echo cancellation US7684559B2|2010-03-23|Acoustic echo suppressor for hands-free speech communication EP0954850B1|2004-03-03|Audio processing arrangement with multiple sources US8503669B2|2013-08-06|Integrated latency detection and echo cancellation US9697845B2|2017-07-04|Non-linear echo path detection US7262716B2|2007-08-28|Asynchronous sample rate converter and method AU2001245740B2|2005-04-14|Adaptive microphone matching in multi-microphone directional system JP2007129736A|2007-05-24|音声信号中の暗騒音を抑制する方法及び装置、並びに反響消去を伴う対応する装置 EP1942582B1|2019-04-03|Echo suppressing method and device JP2882364B2|1999-04-12|雑音消去方法及び雑音消去装置 US8811623B2|2014-08-19|Information processing apparatus and program RU2440692C2|2012-01-20|Система и способ для компенсации безынерционного нелинейного искажения в аудиопреобразователе US7324466B2|2008-01-29|Echo canceling system and echo canceling method JP4386379B2|2009-12-16|会議または電話用の音響エコー・キャンセラのバックグラウンド訓練
同族专利:
公开号 | 公开日 CN101843082B|2013-09-04| WO2009078733A1|2009-06-25| NO20076533L|2009-06-19| EP2235928B1|2013-07-31| EP2235928A1|2010-10-06| US8515086B2|2013-08-20| US20090185695A1|2009-07-23| JP5357179B2|2013-12-04| EP2235928A4|2011-05-04| NO327377B1|2009-06-22| CN101843082A|2010-09-22|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JP2004538734A|2001-08-08|2004-12-24|ゲーエヌリサウンドアクティーゼルスカブGNReSoundA/S|デジタル周波数ワーピングを用いたダイナミックレンジ圧縮| US20070047738A1|2002-05-31|2007-03-01|Microsoft Corporation|Adaptive estimation and compensation of clock drift in acoustic echo cancellers| US20070165837A1|2005-12-30|2007-07-19|Microsoft Corporation|Synchronizing Input Streams for Acoustic Echo Cancellation| US20070165838A1|2006-01-13|2007-07-19|Microsoft Corporation|Selective glitch detection, clock drift compensation, and anti-clipping in audio echo cancellation|JP2013102427A|2011-10-27|2013-05-23|Polycom Inc|ビデオ会議の周辺機器としての携帯機器| JP2013102428A|2011-10-27|2013-05-23|Polycom Inc|超音波式ビーコンを用いた、複数装置間での異なる音声クロックの補償| JP2014123875A|2012-12-21|2014-07-03|Toshiba Corp|信号処理装置および信号処理方法| US9024998B2|2011-10-27|2015-05-05|Pollycom, Inc.|Pairing devices in conference using ultrasonic beacon| US9203633B2|2011-10-27|2015-12-01|Polycom, Inc.|Mobile group conferencing with portable devices|FR2802367B1|1999-12-14|2006-08-18|France Telecom|Procede temps reel de traitement et de gestion pour l'annulation d'echo entre haut-parleur et microphone d'un terminal informatique| US6754295B1|2000-04-07|2004-06-22|Comrex Corporation|Method and apparatus for synchronizing data transmission and reception over a network| US6747581B2|2002-02-01|2004-06-08|Octiv, Inc.|Techniques for variable sample rate conversion| CN100454284C|2002-12-24|2009-01-21|联想有限公司|实现远程实时播放接收声音的方法及系统| FR2867288B1|2004-03-03|2006-06-02|Centre Nat Rech Scient|Procede de synchronisation de donnees, notamment distribuees prenant en compte les imprecisions et derives des horloges| NO328256B1|2004-12-29|2010-01-18|Tandberg Telecom As|Audiosystem| JP4533427B2|2005-02-21|2010-09-01|富士通株式会社|エコーキャンセラ| US20070019802A1|2005-06-30|2007-01-25|Symbol Technologies, Inc.|Audio data stream synchronization|US20110234200A1|2010-03-24|2011-09-29|Kishan Shenoi|Adaptive slip double buffer| US8738956B2|2011-04-28|2014-05-27|Futurewei Technologies, Inc.|Method and apparatus for updating a fractional time interval using time-domain interpolators in optical communications| WO2012158168A1|2011-05-18|2012-11-22|Google Inc.|Clock drift compensation method and apparatus| CN102568494B|2012-02-23|2014-02-05|贵阳朗玛信息技术股份有限公司|消除回声的优化方法、装置及系统| CN102780821B|2012-07-06|2014-08-13|歌尔声学股份有限公司|一种送受话端采样率偏差纠正方法和系统| US9025762B2|2012-10-23|2015-05-05|Cisco Technology, Inc.|System and method for clock synchronization of acoustic echo cancellerwith different sampling clocks for speakers and microphones| US8880929B2|2012-11-19|2014-11-04|Blackfire Research Corporation|Indirect clock measuring and media adjustment| US9219456B1|2013-12-17|2015-12-22|Amazon Technologies, Inc.|Correcting clock drift via embedded sin waves| US9100090B2|2013-12-20|2015-08-04|Csr Technology Inc.|Acoustic echo cancellationfor a close-coupled speaker and microphone system| US9373318B1|2014-03-27|2016-06-21|Amazon Technologies, Inc.|Signal rate synchronization for remote acoustic echo cancellation| US9589575B1|2015-12-02|2017-03-07|Amazon Technologies, Inc.|Asynchronous clock frequency domain acoustic echo canceller| CN105553598B|2016-01-10|2017-09-29|北京航空航天大学|一种基于m估计稳健回归的时间触发以太网时钟补偿方法| US10592442B2|2017-12-11|2020-03-17|Advanced Micro Devices, Inc.|Asynchronous buffer with pointer offsets| US10692515B2|2018-04-17|2020-06-23|Fortemedia, Inc.|Devices for acoustic echo cancellation and methods thereof|
法律状态:
2012-06-08| A711| Notification of change in applicant|Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120607 | 2012-06-08| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120607 | 2012-07-17| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120717 | 2012-08-24| RD03| Notification of appointment of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20120823 | 2012-08-31| RD04| Notification of resignation of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120830 | 2012-10-18| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121017 | 2012-11-09| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121108 | 2013-02-09| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130208 | 2013-07-22| TRDD| Decision of grant or rejection written| 2013-08-01| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130731 | 2013-09-05| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130829 | 2013-09-06| R150| Certificate of patent or registration of utility model|Ref document number: 5357179 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 | 2016-08-30| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2017-09-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2018-09-04| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2019-09-03| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2020-09-06| LAPS| Cancellation because of no payment of annual fees|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|